Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références ».
La première étape se déroule contre-la-montre avec départ et arrivée à Einsiedeln dans le canton de Schwytz et au bord du lac de Sihl pour un parcours assez plat de 12,7 km. Bien que vallonnée, la deuxième étape composée de plusieurs boucles différentes autour et aux alentours du lac de Sempach (arrivée à Nottwil dans le canton de Lucerne) devrait convenir aux sprinteurs. La troisième étape partant de Tavel dans la canton de Fribourg s'oriente rapidement vers le sud et les premiers contreforts des Alpes avec le franchissement du col des Mosses (col de 1re catégorie, sommet à 33 km de l'arrivée) puis la montée finale d'une dizaine de kilomètres vers Villars-sur-Ollon (canton de Vaud), unique arrivée au sommet du Tour de Suisse 2023. Partant de Monthey, les 70 premiers kilomètres de la quatrième étape longent la vallée du Rhône et sont totalement plats. Ensuite, les coureurs grimpent vers la station de Crans-Montana (col de 1re catégorie), où le Tour d'Italie a fait étape quelques semaines plus tôt, puis, après une descente ramenant à la même vallée du Rhône, ils montent le col de Dorben (col de 1re catégorie) dont le sommet se situe à quatre kilomètres de l'arrivée à Loèche-les-Bains dans le canton du Valais.
La cinquième étape longue de 211 kilomètres franchit trois cols mythiques des Alpes suisses. Dans le premier tiers du parcours, les cols de la Furka (hors-catégorie) et de l'Oberalp (col de 1re catégorie) sont escaladés avant une partie d'étape plus calme. Mais en fin de parcours, le col de l'Albula (hors-catégorie) se dresse sur le tracé des coureurs avec le sommet situé à 10 km de l'arrivée en descente vers La Punt dans la canton des Grisons. Le lendemain, les coureurs franchissent de nouveau le col de l’Albula mais par la face opposée à celle grimpée la veille. Ensuite la plus longue étape de ce Tour de Suisse (216 km) ne présente plus de grosses difficultés si ce n'est l'arrivée en montée de 2 400 m à Oberwil-Lieli dans le canton d'Argovie. Au départ du petit village de Tübach, dans le canton de Saint-Gall, la septième étape, bien que ponctuée de quatre cols, pourrait convenir aux sprinteurs ou à une échappée. Le tracé arpente la région au sud du lac de Constance et arrive à Weinfelden dans le canton de Thurgovie. La dernière étape est courue sous la forme d'un contre-la-montre sur une distance de 25,7 kilomètres vallonnés entre Saint-Gall et le village d'Abtwil (commune de Gaiserwald ) dans le canton de Saint-Gall.
Une avalanche de rochers à Brienz nécessite le déplacement du départ de la sixième étape à Coire. Finalement, cette étape est annulée mais parcourue en cortège sur les 30 derniers kilomètres en raison du décès de Gino Mäder.
Le Tour de Suisse figurant au calendrier de l'UCI World Tour, les dix-huit WorldTeams y participent. Cinq ProTeams sont invitées. Vingt-trois équipes de sept coureurs participent ainsi à ce Tour de Suisse :
Les favoris à la victoire finale sont le jeune Espagnol Juan Ayuso (UAE Emirates), troisième du dernier Tour d'Espagne et son coéquipier australien Jay Vine, le Britannique Tom Pidcock (Ineos Grenadiers), le Néerlandais Wilco Kelderman (Jumbo-Visma), le Colombien Sergio Higuita (Bora Hansgrohe), deuxième de l'édition précédente, et son jeune coéquipier belge Cian Uijtdebroeks[2], le Français Romain Bardet (DSM), le Britannique Neilson Powless (EF Education), le Portugais Rui Costa (Intermarché Circus Wanty), triple vainqueur du Tour de Suisse de 2012 à 2014, le Danois Jakob Fuglsang (Israel Premier Tech), deux fois troisième en 2021 et 2022, le Suisse Gino Mäder et l'Espagnol Pello Bilbao (Bahrain Victorious). Le 2 juin, l’équipe Soudal Quick-Step officialise le retour à la compétition au Tour de Suisse du Belge champion du monde Remco Evenepoel après son abandon au Giro en raison du Covid. Le Belge Wout van Aert (Jumbo-Visma) devrait plutôt viser certaines victoires d'étape ou le maillot noir du classement par points.
Dès le tout début de l'étape, le Suisse Michael Schär (AG2R Citroën) et le Canadien Nickolas Zukowsky (Q 36.5 Pro Cycling) forment l'échappée du jour et comptent jusqu'à un avantage de 4 min 35 s. sur le peloton. Mais, sous la conduite de l'équipe Groupama FDJ du maillot jaune Stefan Küng puis des équipes des sprinteurs, l'écart diminue. À 31 km de l'arrivée, une importante chute a lieu dans le peloton, retardant de nombreux coureurs parmi lesquels Jay Vine (UAE Emirates) qui était pointé parmi les favoris. Zukowsky lâche Schär pour franchir seul en tête le col de l'Oberarig mais est repris dans la foulée par le peloton à 21 km du terme. La victoire se joue au sprint. L'Érythréen Biniam Girmay (Intermarché Circus Wanty) s'impose d'une longueur devant Arnaud Démare et Wout van Aert.
Depuis les premiers kilomètres de l'étape, quatre hommes forment l'échappée du jour : les Français Lilian Calmejane (Intermarché-Circus-Wanty) et Paul Ourselin (TotalEnergie), le Danois Alexander Kamp (Tudor Pro Cycling) et le Canadien détenteur du maillot à pois Nickolas Zukowsky (Q 36.5 Pro Cycling). L'avance des fuyards sur le peloton n'excède jamais les quatre minutes. Cet avantage fond pendant l'ascension du col des Mosses mais les fuyards conservent une maigre avance au sommet (où Lilian Calmejane passe en tête) avant d'être repris par le peloton dans la descente. Le peloton s'étire fortement et se fragmente dans cette descente. Dans la montée finale vers Villars-sur-Ollon (9,6 km à 8,1 % de pente moyenne), Remco Evenepoel place une attaque à 6,4 km du sommet. Les seuls Mattias Skjelmose (Trek Segafredo) et Felix Gall (AG2R Citroën) l'accompagnent mais ne prennent pas de relais. Toutefois le trio ne creuse pas un écart supérieur à 13 secondes. Les poursuivants étant sur le point de revenir sur le trio de tête, Felix Gall attaque à 2,5 km du terme mais il est rejoint à 1 200 m du but par Mattias Skjelmose qui attaque aux 500 mètres, gagne l'étape et s'empare du maillot jaune. Evenepoel, repris par le groupe de chasse, termine quatrième, devancé de neuf secondes par Juan Ayuso (UAE Emirates).
Dix coureurs ont formé l'échappée en début d’étape et ont d'abord résisté au retour du peloton en passant en tête à Crans-Montana (col de 1re catégorie). Sorti du peloton au pied de la dernière ascension du jour, à une vingtaine de kilomètres de l'arrivée, Felix Gall, deuxième la veille, rejoint et dépasse les rescapés de l'échappée initiale pour s'en aller gagner l'étape et prendre le maillot jaune pour deux secondes. Un groupe de sept hommes avec la plupart des favoris, reconstitué après plusieurs attaques dont trois de Romain Bardet, est remporté par Remco Evenepoel qui termine à un peu plus d'une minute de Felix Gall alors que Juan Ayuso perd davantage de temps.
Dix-huit échappés franchissent en tête de course la première des trois grosses difficultés du jour : le col de la Furka (col hors catégorie) que Sergio Higuita (Bora Hansgrohe) passe en tête. Ces coureurs creusent un écart de 3 min 30 s avec le peloton dans la descente. La montée du deuxième col de la journée, le col de l'Oberalp (1re catégorie) se passe sans encombre et le groupe de tête comptant désormais 19 unités (retour de Marco Haller) compte 2 min 35 s d'avance sur le peloton au sommet franchi le premier par Pascal Eenkhoorn (Lotto Dstny). Pendant le long cheminement dans la vallée entre le col de l'Oberalp et le pied du col de l'Albula, l'écart entre les 19 fuyards et le peloton ne varie guère oscillant entre trois et quatre minutes. Quelques kilomètres avant le pied de l'Albula, 13 hommes de l'échappée initiale se portent en tête. Dans l'ascension, le groupe de tête se réduit fortement ne comptant bien vite plus que trois hommes en tête : Neilson Powless (EF Education), Rui Costa (Intermarché Circus Wanty) et Antonio Tiberi (Bahrain Victorious). Derrière ce trio, le peloton devenu groupe maillot jaune a éclaté et est précédé par Juan Ayuso (UAE Emirates) qui rattrape et dépasse les hommes de tête. Au sommet de l'Albula, Ayuso passe en tête avec 28 secondes d'avance sur Tiberi et Rui Costa et environ une minute sur le maillot jaune Felix Gall suivi de près par les autres favoris. Au bas de la descente où il a pris tous les risques en atteignant une vitesse supérieure à 100 km/h, Juan Ayuso franchit la ligne d'arrivée en vainqueur 54 secondes devant Mattias Skjelmose qui hérite du maillot jaune au détriment de Felix Gall. Remco Evenepoel, arrivé 10e, perd 26 secondes sur Skjelmose Jensen.
Dans la descente finale de l'Albula, Magnus Sheffield et Gino Mäder chutent à grande vitesse. Mäder, retrouvé inerte dans l'eau, doit être réanimé sur place et transféré à l’hôpital. Le lendemain, son équipe Bahrain Victorious annonce son décès à 26 ans.
Dès l'arrivée de cette 5e étape, le champion du monde Remco Evenepoel déclare : « Une chose dont je pense que personne n’était content aujourd’hui, c’est d’avoir une arrivée au terme d’une descente aussi dangereuse. Il faut toujours qu’il se passe quelque chose avant qu’on se rende compte que c’est irresponsable. Je ne suis pas le seul à avoir trouvé la descente dangereuse. Tout le monde dira : "Bien sûr que c’était trop dangereux". Et c’est dommage, avec une si belle ascension finale, on aurait pu se contenter d’arrivée au sommet… Mais non, il fallait rajouter du spectacle »[3].
Cette étape est neutralisée en raison du décès de Gino Mäder des suites de sa grave chute de la veille. Les coureurs parcourent les 30 derniers kilomètres en cortège en hommage au coureur suisse décédé dans la matinée.
Après avoir consulté les équipes et les coureurs ainsi que l’ensemble du staff du Tour de Suisse, le chronométrage pour le classement général a lieu 25 km avant l’arrivée limitant ainsi les risques dans la dernière descente de cette étape. Mais la victoire de l’étape est maintenue sur la ligne d’arrivée à Weinfelden. L'équipe Bahrain Victorious dans laquelle courait Gino Mäder ne prend pas le départ. Les équipes Intermarché-Cirus-Wanty et Tudor ainsi que d'autres coureurs à titre individuel décident également de quitter la course[4].
La course proprement dite débute à 25 km du terme. Parti à 17 km de l'arrivée depuis un groupe de tête, Remco Evenepoel gagne en solitaire cette étape non chronométrée pour les 25 derniers kilomètres et rend hommage à Gino Mäder en franchissant la ligne d'arrivée.
Le premier des 113 coureurs à s'élancer est Pavel Bittner à 14 h 27 et le dernier est le maillot jaune Mattias Skjelmose à 16 h 28 (heure locale). Les coureurs partent de minute en minute sauf les dix derniers qui s'élancent toutes les deux minutes.
Remco Evenepoel passe en tête au premier point intermédiaire mais il est deuxième derrière Juan Ayuso au second point intermédiaire ainsi qu'à l'arrivée. Toutefois, le jeune Espagnol ne reprend pas assez de temps au Danois Mattias Skjelmose qui termine troisième de cette étape et remporte le Tour de Suisse 2023 en maintenant une avance de neuf secondes sur Ayuso.